Rsync 笔记

您所在的位置:网站首页 rsync 同步远程目录 Rsync 笔记

Rsync 笔记

2023-04-04 11:01| 来源: 网络整理| 查看: 265

rsync 概述

rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步。

rsync 特性可以镜像保存整个目录树和文件系统可以很容易做到保持原来文件的权限、时间、软硬链接等等无须特殊权限即可安装快速:第一次同步时rsync会复制全部内容,但在下一次只传输修改过的文件。rsync在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带宽安全:可以使用scp、ssh等方式来传输文件,当然也可以通过直接的socket连接支持匿名传输,以方便进行网站镜像rsync不仅可以远程同步数据(类似于scp),而且可以本地同步数据(类似于cp),做差异同步openssh 8.0已经把scp标记为过时不建议使用了。建议用sftp或者rsync替代scprsync 认证方式

rsync有两种常用的认证方式,一种是rsync-daemon方式,另外一种是ssh方式。在平时使用过程,我们使用最多的是rsync-daemon方式。

注意:在使用rsync时,服务器和客户端都必须安装rsync程序

rsync-daemon认证:

rsync在rsync-daemon认证方式下,默认监听TCP的873端口。 ​ rsync-daemon认证方式是rsync的主要认证方式,这个也是我们经常使用的认证方式。 并且也只有在此种模式下,rsync才可以把密码写入到一个文件中。 ​ 注意: rsync-daemon认证方式,需要服务器和客户端都安装rsync服务 并且只需要rsync服务器端启动rsync,同时配置rsync配置文件。 客户端启动不启动rsync服务,都不影响同步的正常进行。

ssh认证:

rsync在ssh认证方式下,可通过系统用户进行认证,即在rsync上通过ssh隧道进行传输,类似于scp工具。 此时同步操作不在局限于rsync中定义的同步文件夹。 ​ 注意: ssh认证方式,不需要服务器和客户端配置rsync配置文件 只需要双方都安装rsync服务,并且也不需要双方启动rsync。 ​ # 若rsync服务端SSH为标准端口,此时rsync使用方式如下: ​ rsync -avz /root/test [email protected]:/root/ ​ # 若rsync服务端SSH为非标准端口,可通过rsync的-e参数进行端口指定。使用方式如下: ​ rsync -avz /root/test -e 'ssh -p1234' [email protected]:/root/rsyncd.conf 详解全局参数# 在独立运行时,用于指定的服务器运行的 IP 地址 address = IP ​ # 监听端口 port = 873 ​ # rsync 的守护进程将其 PID 写入指定的文件 pid file = /var/run/rsyncd.pid ​ # 指定支持 max connections 参数的锁文件 lock file = /var/run/rsync.lock ​ # 指定 rsync 守护进程的日志文件,而不将日志发送给 syslog log file = /var/log/rsyncd.log ​ #========== 控制参数 =============# # 以指定的 UID 传输文件 uid = rsync ​ # 指定该模块以指定的 GID 传输文件。 gid = rsync ​ # 禁锢推送的数据至某个目录, 不允许跳出该目录, # 默认为 yes,则 rsync 在传输文件之前首先 chroot 到 path 参数所指定的目录下 # 这样做的原因是实现额外的安全防护,但是缺点是需要 root 权限 # 并且不能备份指向 path 外部的符号连接所指向的目录文件 use chroot = no ​ # 无需让rsync以root身份运行,允许接收文件的完整属性 fake super = yes ​ # 大并发连接数量以保护服务器,超过限制的连接请求将被告知随后再试 # 默认为0 (没有限制) max connections = 200 ​ # 超时时间 timeout = 600 ​ # 指定在 rsync 服务器上运行 delete 操作时是否忽略 I/O 错误。 # 一般来说 rsync 在出现 I/O 错误时将将跳过 –delete 操作 # 以防止因为暂时的资源不足或其它 I/O 错误导致的严重问题。 ignore errors ​ # 指定是否允许客户上传文件。 # 默认为true,不允许用户上传文件, # 若为 false 并且服务器目录也具有读写权限则允许上传。 read only = false ​ # 指定当客户请求列出可以使用的模块列表时,该模块是否应该被列出。 # 默认为 true,如果设置该选项为 false,可以创建隐藏的模块 list = false模块参数

模块参数主要用于定义 rsync 服务器哪个目录要被同步。

模块声明的格式必须为 [module] 形式,这个名字就是在 rsync 客户端看到的名字,类似于 Samba 服务器提供的共享名。

而服务器真正同步的数据是通过 path 来指定的。可以根据自己的需要,来指定多个模块,模块中可以定义以下参数:

#基本模块参数 ​ # 指定模块名 [backup] ​ # 指定当前模块在 rsync 服务器上的同步路径,该参数是必须指定的 path = /backup ​ # 给模块指定一个描述,该描述连同模块名在客户连接得到模块列表时显示给客户 comment = commit ​ #模块文件筛选参数 ​ # 指定多个由空格隔开的多个文件或目录(相对路径) # 并将其添加到 exclude 列表中。这等同于在客户端命令中使用 –exclude 来指定模式。 exclude = exclude_file ​ # 指定一个包含 exclude 规则定义的文件名,服务器从该文件中读取 exclude 列表定义 exclude from = exclude-file.txt ​ # 指定多个由空格隔开的多个文件或目录(相对路径),并将其添加到 include 列表中。 # 这等同于在客户端命令中使用 –include 来指定模式 。 include = include-file.txt ​ # 指定一个包含 include 规则定义的文件名,服务器从该文件中读取 include 列表定义 include from = exclude-file.txt ​ # 一个模块只能指定一个exclude 参数、一个include 参数 # 结合 include 和 exclude 可以定义复杂的exclude/include 规则 # 这几个参数分别与相应的rsync 客户命令选项等价,唯一不同的是它们作用在服务器端 ​ #模块用户认证参数 # rsync 默认匿名方式传输 # 若只配置匿名访问的 rsync 服务器,则无需设置下述参数 ​ # 指定由空格或逗号分隔的用户名列表,只有这些用户才允许连接该模块。 # 这里的用户和系统用户没有任何关系。用户名和口令以明文方式存放在 secrets file 参数指定的文件中 auth users = user_name ​ # 指定一个 rsync 认证口令文件。只有在 auth users 被定义时,该文件才起作用 secrets file = /etc/rsync.passwd ​ # rsync 认证口令文件的权限一定是 600,否则客户端将不能连接服务器。 # rsync 认证口令文件中每一行指定一个 用户名:口令 对,格式为: # username:passwd ​ # 一般来说口令最好不要超过8个字符 ​ # 一个rsync配置文件中可以包含多个认证模块,同时一个密码文件中也可以存放多个用户和其对应的密码。 # 其中每一个认证模块可以对应不同的客户端。rsync 命令#Rsync的命令格式常用的有以下三种: rsync [OPTION]... SRC DEST rsync [OPTION]... SRC [USER@]HOST:DEST rsync [OPTION]... [USER@]HOST:SRC DEST ​ 一般同步传输目录都使用azv选项. -v, --verbose 详细模式输出 -q, --quiet 精简输出模式 -c, --checksum 打开校验开关,强制对文件传输进行校验 -a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD -r, --recursive 对子目录以递归模式处理 -R, --relative 使用相对路径信息 -b, --backup 创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename。可以使用--suffix选项来指定不同的备份文件前缀。 --backup-dir 将备份文件(如~filename)存放在在目录下。 -suffix=SUFFIX 定义备份文件前缀 -u, --update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件。(不覆盖更新的文件) -l, --links 保留软链结 -L, --copy-links 想对待常规文件一样处理软链结 --copy-unsafe-links 仅仅拷贝指向SRC路径目录树以外的链结 --safe-links 忽略指向SRC路径目录树以外的链结 -H, --hard-links 保留硬链结 -p, --perms 保持文件权限 -o, --owner 保持文件属主信息 -g, --group 保持文件属组信息 -D, --devices 保持设备文件信息 -t, --times 保持文件时间信息 -S, --sparse 对稀疏文件进行特殊处理以节省DST的空间 -n, --dry-run现实哪些文件将被传输 -W, --whole-file 拷贝文件,不进行增量检测 -x, --one-file-system 不要跨越文件系统边界 -B, --block-size=SIZE 检验算法使用的块尺寸,默认是700字节 -e, --rsh=COMMAND 指定使用rsh、ssh方式进行数据同步 --rsync-path=PATH 指定远程服务器上的rsync命令所在路径信息 -C, --cvs-exclude 使用和CVS一样的方法自动忽略文件,用来排除那些不希望传输的文件 --existing 仅仅更新那些已经存在于DST的文件,而不备份那些新创建的文件 --delete 删除那些DST中SRC没有的文件 --delete-excluded 同样删除接收端那些被该选项指定排除的文件 --delete-after 传输结束以后再删除 --ignore-errors 及时出现IO错误也进行删除 --max-delete=NUM 最多删除NUM个文件 --partial 保留那些因故没有完全传输的文件,以是加快随后的再次传输 --force 强制删除目录,即使不为空 --numeric-ids 不将数字的用户和组ID匹配为用户名和组名 --timeout=TIME IP超时时间,单位为秒 -I, --ignore-times 不跳过那些有同样的时间和长度的文件 --size-only 当决定是否要备份文件时,仅仅察看文件大小而不考虑文件时间 --modify-window=NUM 决定文件是否时间相同时使用的时间戳窗口,默认为0 -T --temp-dir=DIR 在DIR中创建临时文件 --compare-dest=DIR 同样比较DIR中的文件来决定是否需要备份 -P 等同于 --partial --progress 显示备份过程 -z, --compress 对备份的文件在传输时进行压缩处理 --exclude=PATTERN 指定排除不需要传输的文件模式 --include=PATTERN 指定不排除而需要传输的文件模式 --exclude-from=FILE 排除FILE中指定模式的文件 --include-from=FILE 不排除FILE指定模式匹配的文件 --version 打印版本信息 --address 绑定到特定的地址 --config=FILE 指定其他的配置文件,不使用默认的rsyncd.conf文件 --port=PORT 指定其他的rsync服务端口 --blocking-io 对远程shell使用阻塞IO -stats 给出某些文件的传输状态 --progress 在传输时现实传输过程 --log-format=formAT 指定日志文件格式 --password-file=FILE 从FILE中得到密码 --bwlimit=KBPS 限制I/O带宽,KBytes per second -h, --help 显示帮助信息 rsync 安装

安装rsync,我们可以分为两种方式:源码方式安装和RPM方式安装。

注意:rsync软件无论是服务器端还是客户端都是同一个软件包。

源码方式安装:

# 源码方式安装rsync,需要到其官网下载对应的安装包。rsync官网:rsync.samba.org ​ 1、下载 wget https://download.samba.org/pub/rsync/src/rsync-3.2.3.tar.gz ​ 2、解压并安装 tar -xvf rsync-3.2.3.tar.gz ​ 3、编译安装 # 源码安装rsync时,其编译时所需要的gcc库文件尽量提前安装完毕 # 默认安装到/usr/local/目录下 ./configure make &&make install ​ 4、设置开机启动 echo “/usr/local/bin/rsync --daemon -config=/etc/rsyncd.conf” >>/etc/profile

RPM方式安装:

yum -y install rsync ​ #设置开机启动 echo “/usr/local/bin/rsync --daemon -config=/etc/rsyncd.conf” >>/etc/profile配置rsync daemon

rsync的配置分为服务器端和客户端,使用rsync协议,需要服务端启动守护进程。

服务端配置#准备rsync配置文件 # 以 rsync 用户启动进程 uid = rsync gid = rsync ​ # 无需让rsync以root身份运行,允许接收文件的完整属性 fake super = yes ​ # 禁锢推送的数据至某个目录, 不允许跳出该目录 use chroot = no ​ max connections = 200 # 最大连接数 timeout = 600 # 超时时间 ignore errors # 忽略错误信息 ​ read only = false # 对备份数据可读写 ​ list = false # 不允许查看模块信息 ​ # 定义虚拟用户,作为连接认证用户 auth users = myuser ​ # 定义rsync服务用户连接认证密码文件路径 secrets file = /etc/rsync.passwd ​ #### 定义模块信息 [backup] comment = commit # 模块注释信息 path = /backup # 定义接收备份数据目录 ​ # 只允许10.10.10段ip连接 hosts allow = 10.10.10.0/24 ​ #配置并启动守护进程 # 需要一个rsync进程运行时使用的普通用户 rsync useradd rsync -M -s /sbin/nologin ​ # 服务端需要定义一个客户端连接虚拟用户名和密码 # 密码文件形式 user:passwd echo "myuser:password" > /etc/rsync.passwd chmod 600 /etc/rsync.passwd ​ # 准备模块定义好的目录,客户端的数据都存放在该目录下 mkdir /backup chown -R rsync.rsync /backup ​ # 启动服务 rsync --daemon ​ # 查看服务 ps aux | grep rsync netstat -lntp|grep 873客户端配置# 在客户端安装完毕rsync服务后,是不需要启动rsync服务的。 # 我们只需要在客户端创建连接rsync服务器时,验证码用户所需要的密码文件即可。 # 该密码文件中的密码要与rsync服务器上的密码文件中的密码对应 # 并且也要与rsync服务器rsyncd.conf配置文件中的认证模块中的用户匹配。 ​ echo “password”>>/etc/rsync.passwd ​ chmod 600 /etc/rsync.passwd ​ # 查看 rsync 守护程序分配的所有 module 列表,可以执行下面命令。 rsync rsync://10.10.10.10 ​ # 具体写法是服务器与目标目录之间使用双冒号分隔`::` # 地址中的module并不是实际路径名,而是 rsync 守护程序指定的模块名 ​ # 把本地的文件同步到远程服务器 # rsync [OPTION]… [SRC]… [USER@]HOST::DEST # rsync [选项] [--port=] [--password-file=] [/local/path] [用户名]@服务端IP::[模块名] ​ rsync -av --password-file=/etc/rsync.passwd local/ [email protected]::backup ​ # 把远程机器的文件同步到本地 # rsync [OPTION]… [USER@]HOST::SRC [DEST] # rsync [选项] [--port=] [--password-file=] [用户名@]服务端IP::[模块名] [/local/path] ​ rsync -av --password-file=/etc/rsync.passwd [email protected]::backup local/ Inotify 概述

Inotify是一种强大的、细粒度的、异步的文件系统事件监控机制,linux内核从2.6.13起,加入了Inotify支持,通过Inotify可以监控文件系统中添加、删除,修改、移动等各种细微事件,利用这个内核接口,第三方软件就可以监控文件系统下文件的各种变化情况,而inotify-tools就是这样的一个第三方软件。

rsync可以实现触发式的文件同步,但是通过crontab守护进程方式进行触发,同步的数据和实际数据会有差异,而inotify可以监控文件系统的各种变化,当文件有任何变动时,就触发rsync同步,这样刚好解决了同步数据的实时性问题。

Inotify 监控事项

Events 含义:

attrib 文件或目录属性被改变close 文件或目录封闭,无论读/写模式open 文件或目录被打开moved_to 文件或目录被移动至另外一个目录moved_from 文件或目录被移动到另一个目录或从另一个目录移动至当前目录create 文件或目录被创建在当前目录delete 文件或目录被删除unmount 文件系统被卸载Inotify 参数说明参数 说明 -m 持续监听 -r 使用递归形式监视目录 -q 减少冗余信息,只打印出需要的信息 -e 指定要监视的事件,多个时间使用逗号隔开 --timefmt 时间格式 --format 监听到的文件变化的信息 ​ ymd分别表示年月日,H表示小时,M表示分钟 --format 说明: 参数 说明 %w 表示发生事件的目录 %f 表示发生事件的文件 %e 表示发生的事件 %Xe 事件以“X”分隔 %T 使用由–timefmt定义的时间格式调整 inotify 内核参数(backuper)

在 Linux 内核中,默认的 inotify 机制提供了三个调控参数:

max_queued_events 监控事件队列,默认值为 16384 max_user_instances 最多监控实例数,默认值为 128 max_user_watches 每个实例最多监控文件数,默认值为 8192

当要监控的目录、文件数较多或者变化较频繁时,建议加大这三个参数的值,可通过 /etc/sysctl.conf 文件进行配置,设定参数应符合服务器性能以及服务需要。

[root@backuper ~]# vim /etc/sysctl.conf #添加如下配置 fs.inotify.max_queued_events = 16384 fs.inotify.max_user_instances = 1024 fs.inotify.max_user_watches = 1048576 ​ sysctl -p cat /proc/sys/fs/inotify/max_queued_events cat /proc/sys/fs/inotify/max_user_instances cat /proc/sys/fs/inotify/max_user_watchesrsync+inotify 案例主机角色软件rsync-inotifyrsync-client+inotifyrsync、inotify-toolsrsyncrsync-server+inotifyrsyncrsync-inotify配置:#关闭防火墙和selinux [root@rsync-inotify ~]# systemctl disable --now firewalld Removed /etc/systemd/system/multi-user.target.wants/firewalld.service. Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. [root@rsync-inotify ~]# setenforce 0 [root@rsync-inotify ~]# vi /etc/selinux/config #安装 [root@rsync-inotify ~]# yum -y install rsync [root@rsync-inotify ~]# echo '123456' > /etc/rsync.pass [root@rsync-inotify ~]# chmod 600 /etc/rsync.pass [root@rsync-inotify ~]# cat /etc/redhat-release //查看系统版本,确保系统版本和epel版本匹配 Red Hat Enterprise Linux release 8.2 (Ootpa) 若得到的结果为Red Hat Enterprise Linux release 8.***,则需要选择的epel版本为8。 进入epel官网https://dl.fedoraproject.org/pub/epel,下载对应版本epel安装包 [root@rsync-inotify ~]# wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm --2021-10-11 20:19:17-- https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm 正在解析主机 dl.fedoraproject.org (dl.fedoraproject.org)... 38.145.60.23, 38.145.60.24, 38.145.60.22 正在连接 dl.fedoraproject.org (dl.fedoraproject.org)|38.145.60.23|:443... 已连接。 已发出 HTTP 请求,正在等待回应... 200 OK 长度:23644 (23K) [application/x-rpm] 正在保存至: “epel-release-latest-8.noarch.rpm” epel-release-latest-8.no 100%[=================================>] 23.09K 4.38KB/s 用时 5.3s 2021-10-11 20:19:27 (4.38 KB/s) - 已保存 “epel-release-latest-8.noarch.rpm” [23644/23644]) [root@rsync-inotify ~]# rpm -vih epel-release-latest-8.noarch.rpm 警告:epel-release-latest-8.noarch.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID 2f86d6a1: NOKEY Verifying... ################################# [100%] 准备中... ################################# [100%] 正在升级/安装... 1:epel-release-8-13.el8 ################################# [100%] [root@rsync-inotify ~]# ls /etc/yum.repos.d/ epel-modular.repo epel.repo epel-testing.repo ym.repo epel-playground.repo epel-testing-modular.repo redhat.repo [root@rsync-inotify ~]# yum -y install inotify-tools [root@rsync-inotify ~]# mkdir /scripts [root@rsync-inotify ~]# cd /scripts/ [root@rsync-inotify scripts]# ls [root@rsync-inotify scripts]# vim inotify.sh [root@rsync-inotify scripts]# cat inotify.sh host=192.168.47.157 # 目标服务器的ip(备份服务器) src=/runtime # 在源服务器上所要监控的备份目录(此处可以自定义,但是要保证存在) des=etc_from_client # 自定义的模块名,需要与目标服务器上定义的同步名称一致 password=/etc/rsync.pass # 执行数据同步的密码文件 user=admin # 执行数据同步的用户名 inotifywait=/usr/bin/inotifywait $inotifywait -mrq --timefmt '%Y%m%d %H:%M' --format '%T %w%f%e' -e modify,delete,create,attrib $src \ | while read files;do rsync -avzP --delete --timeout=100 --password-file=${password} $src $user@$host::$des echo "${files} was rsynced" >>/tmp/rsync.log 2>&1 done [root@rsync-inotify scripts]# chmod +x inotify.sh [root@rsync-inotify scripts]# ls inotify.sh #让其在后台运行,并开机自启 [root@rsync-inotify ~]# chmod +x /etc/rc.d/rc.local [root@rsync-inotify ~]# ll /etc/rc. rc.d/ rc.local [root@rsync-inotify ~]# ll /etc/rc.d/rc.local -rwxr-xr-x. 1 root root 474 3月 24 2020 /etc/rc.d/rc.local [root@rsync-inotify ~]# vim /etc/rc.d/rc.local # that this script will be executed during boot. nohup /scripts/inotify.sh & touch /var/lock/subsys/local [root@localhost ~]# ps -ef|grep inotify root 1077 1 0 20:37 ? 00:00:00 /bin/sh /scripts/inotify.sh root 1085 1077 0 20:37 ? 00:00:00 /usr/bin/inotifywait -mrq --timefmt %Y%m%d %H:%M --format %T %w%f%e -e modify,delete,create,attrib /runtime root 1086 1077 0 20:37 ? 00:00:00 /bin/sh /scripts/inotify.sh root 6283 3995 0 20:37 pts/0 00:00:00 grep --color=auto inotifyrsync配置:#关闭防火墙和selinux [root@rsync ~]# systemctl disable --now firewalld Removed /etc/systemd/system/multi-user.target.wants/firewalld.service. Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. [root@rsync ~]# setenforce 0 [root@rsync ~]# vi /etc/selinux/config #安装 [root@rsync ~]# yum -y install rsync #在目标上生成配置文件 [root@rsync ~]# vi /etc/rsyncd.conf log file = /var/log/rsyncd.log # 日志文件位置,启动rsync后自动产生这个文件,无需提前创建 pidfile = /var/run/rsyncd.pid # pid文件的存放位置 lock file = /var/run/rsync.lock # 支持max connections参数的锁文件 secrets file = /etc/rsync.pass # 用户认证配置文件,里面保存用户名称和密码,必须手动创建这个文件 [etc_from_client] # 自定义同步名称 path = /ysd/ # rsync服务端数据存放路径,客户端的数据将同步至此目录 comment = sync etc from client uid = root # 设置rsync运行权限为root gid = root # 设置rsync运行权限为root port = 873 # 默认端口 ignore errors # 表示出现错误忽略错误 use chroot = no # 默认为true,修改为no,增加对目录文件软连接的备份 read only = no # 设置rsync服务端为读写权限 list = no # 不显示rsync服务端资源列表 max connections = 200 # 最大连接数 timeout = 600 # 设置超时时间 auth users = admin # 执行数据同步的用户名,可以设置多个,用英文状态下逗号隔开 hosts allow = 172.16.12.128 # 允许进行数据同步的客户端IP地址,可以设置多个,用英文状态下逗号隔开 hosts deny = 192.168.1.1 # 禁止数据同步的客户端IP地址,可以设置多个,用英文状态下逗号隔开 EOF #创建用户认证文件 [root@rsync ~]# echo 'admin:123456' > /etc/rsync.pass [root@rsync ~]# cat /etc/rsync.pass admin:123456 [root@rsync ~]# chmod 600 /etc/rsync* [root@rsync ~]# yum -y install rsync-daemon [root@rsync ~]# systemctl enable --now rsyncd Created symlink /etc/systemd/system/multi-user.target.wants/rsyncd.service → /usr/lib/systemd/system/rsyncd.service. [root@rsync ~]# ss -antl State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 5 0.0.0.0:873 0.0.0.0:* LISTEN 0 128 0.0.0.0:22 0.0.0.0:* LISTEN 0 5 [::]:873 [::]:* LISTEN 0 128 [::]:22 验证:#在rsync-inotify操作 [root@rsync-inotify ~]# /scripts/inotify.sh //执行 [root@rsync-inotify ~]# cd /runtime/ //开另一个终端 [root@rsync-inotify runtime]# ls [root@rsync-inotify runtime]# touch awm //随便创建一个文件 [root@rsync-inotify ~]# /scripts/inotify.sh sending incremental file list //开始同步 runtime/ runtime/awm 0 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=0/2) sent 125 bytes received 47 bytes 114.67 bytes/sec total size is 0 speedup is 0.00 #在rsync查看 [root@rsync ~]# cd /ysd/runtime/ [root@rsync runtime]# ls 总用量 0 -rw-r--r--. 1 root root 0 10月 11 20:28 awmsersync 案例#部署sersync [root@master sersync]# wget https://raw.githubusercontent.com/orangle/sersync/master/release/sersync2.5.4_64bit_binary_stable_final.tar.gz [root@master sersync]# tar xvf sersync2.5.4_64bit_binary_stable_final.tar.gz [root@master sersync]# mv GNU-Linux-x86/sersync2 ./bin/sersync [root@master sersync]# mv GNU-Linux-x86/confxml.xml ./conf/ [root@master conf]# cp confxml.xml confxml.xml.bak #编写配置文件 [root@master conf]# vim conf/confxml.xml 6 7 8 9 10 11 说明:排除指定数据信息不要进行实时传输同步 filter=过滤 exclude=排除 12 13 14 15 16 17 18 19 20 21 说明:定义inotify程序需要监控的事件 24 #源服务器同步目录 25 #目标服务器IP地址,和目标服务器rsync同步目录模块名称 26 #目标服务器ip,每行一个 27 #目标服务器ip,每行一个 28 29 30 31 #目标服务器rsync同步用户的密码在源服务器的存放路径 32 #设置rsync远程服务端口号 ​ #启动sersync [root@master sersync]# sersync -d -r -o /usr/local/sersync/conf/confxml.xml # 参数注解: # -d:启用守护进程模式 # -r:在监控前,将监控目录与远程主机用rsync命令推送一遍 # -o:指定配置文件,默认使用confxml.xml文件 ​ #加入开机启动项,重启服务器查看 [root@master ~]# ln -s /usr/local/sersync/bin/sersync /usr/local/bin/sersync [root@master ~]# echo "sersync -d -r -o /usr/local/sersync/conf/confxml.xml" >>/etc/rc.local [root@master ~]# chmod +x /etc/rc.d/rc.local [root@master ~]# systemctl status rc-local.service [root@master ~]# tail -1 /etc/rc.local


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3